// 引入Pinia的仓库创建函数
import { defineStore } from 'pinia'
// 引入分类接口（已抽离到单独API文件）
import { getCategoryTreeAPI } from '@/apis/category'

// 创建并导出分类仓库，唯一标识为'category'
export const useCategoryStore = defineStore('category', {
  // 状态定义：存储分类数据
  state: () => ({
    categoryList: [] // 分类树形数据，初始为空数组
  }),
  
  // 方法定义：处理数据逻辑
  actions: {
    /**
     * 获取分类树形结构数据
     * @param {number} id - 根分类ID，默认0（顶级分类）
     */
    async getCategoryTree(id = 0) {
      try {
        // 调用API接口，传入分类ID
        const res = await getCategoryTreeAPI(id)
        // 存储接口返回的分类数据（后端约定数据在data399字段）
        this.categoryList = res.data
      } catch (error) {
        // 错误处理：打印错误并清空数据
        console.error('获取分类数据失败：', error)
        this.categoryList = []
      }
    }
  }
})